// import config from '@/config/index';
// import path from 'path';
// import { Sequelize, SequelizeOptions } from 'sequelize-typescript';

// const { USER, PASSWORD, PORT, DB, HOST } = config.MYSQL_CONFIG;

// const MYSQL_OPTION: SequelizeOptions = {
//   dialect: 'mysql',
//   host: HOST,
//   port: PORT,
//   models: [path.resolve(__dirname, '../models')],
//   pool: {
//     max: 5,
//     min: 0,
//     acquire: 30000,
//     idle: 10000,
//   },
//   define: {
//     underscored: false,
//     charset: 'utf8mb4',
//     collate: 'utf8mb4_general_ci',
//     freezeTableName: true,
//     timestamps: true,
//     paranoid: true,
//   },
//   logging: false,
// };

// const sequelizeManager = new Sequelize(DB, USER, PASSWORD, MYSQL_OPTION);

// /**
//  * sequelize连接验证
//  */
// const connect = (): Promise<void> => {
//   return sequelizeManager
//     .authenticate()
//     .then(() => {
//       console.info([path.resolve(__dirname, '../models')]);
//       console.info('new mysql connect success!');
//     })
//     .catch((error: Error) => {
//       console.error('new cannot connect mysql: ', error.message);
//     });
// };

// /**
//  * 这叫同步？
//  */
// const syncModels = () => {
//   const isProd = process.env.NODE_ENV === 'production';
//   if (!isProd) {
//     sequelizeManager.sync().then(
//       () => {
//         console.info('new Sync models sucessful!');
//       },
//       (err) => {
//         console.error('new Sync models failed: ', err.message);
//       },
//     );
//   }
// };

// // export const sequelize = new ClassSequelize();

// connect();

// syncModels();

// // export default ClassSequelize;
